home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 4 / Macwelt DVD 4.cdr / Entwickler / Mac-OS / oxygen / oxygen.app / Contents / Resources / Java / jh.jar / javax / help / JHelpContentViewer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-06-24  |  5.2 KB  |  185 lines

  1. package javax.help;
  2.  
  3. import java.net.URL;
  4. import java.util.Hashtable;
  5. import javax.accessibility.Accessible;
  6. import javax.accessibility.AccessibleContext;
  7. import javax.help.Map.ID;
  8. import javax.help.event.HelpModelListener;
  9. import javax.help.event.TextHelpModelListener;
  10. import javax.help.plaf.HelpContentViewerUI;
  11. import javax.swing.JComponent;
  12. import javax.swing.JEditorPane;
  13. import javax.swing.UIManager;
  14. import javax.swing.text.EditorKit;
  15.  
  16. public class JHelpContentViewer extends JComponent implements Accessible {
  17.    protected TextHelpModel model;
  18.    private Hashtable kitRegistry;
  19.    private boolean debug = false;
  20.  
  21.    public JHelpContentViewer(HelpSet var1) {
  22.       this.setModel(new DefaultHelpModel(var1));
  23.       this.updateUI();
  24.    }
  25.  
  26.    public JHelpContentViewer() {
  27.       this.setModel(new DefaultHelpModel((HelpSet)null));
  28.       this.updateUI();
  29.    }
  30.  
  31.    public JHelpContentViewer(TextHelpModel var1) {
  32.       this.setModel(var1);
  33.       this.updateUI();
  34.    }
  35.  
  36.    public void setModel(TextHelpModel var1) {
  37.       this.debug("setModel: " + var1);
  38.       TextHelpModel var2 = this.model;
  39.       if (var1 != var2) {
  40.          this.model = var1;
  41.          this.firePropertyChange("helpModel", var2, this.model);
  42.          this.invalidate();
  43.       }
  44.  
  45.    }
  46.  
  47.    public TextHelpModel getModel() {
  48.       return this.model;
  49.    }
  50.  
  51.    public void setUI(HelpContentViewerUI var1) {
  52.       this.debug("setUI");
  53.       if ((HelpContentViewerUI)this.ui != var1) {
  54.          super.setUI(var1);
  55.          this.repaint();
  56.       }
  57.  
  58.    }
  59.  
  60.    public HelpContentViewerUI getUI() {
  61.       return (HelpContentViewerUI)this.ui;
  62.    }
  63.  
  64.    public void updateUI() {
  65.       SwingHelpUtilities.installUIDefaults();
  66.       this.setUI((HelpContentViewerUI)UIManager.getUI(this));
  67.       this.invalidate();
  68.    }
  69.  
  70.    public String getUIClassID() {
  71.       return "HelpContentViewerUI";
  72.    }
  73.  
  74.    public void setCurrentID(Map.ID var1) throws InvalidHelpSetContextException {
  75.       this.model.setCurrentID(var1);
  76.    }
  77.  
  78.    public void setCurrentID(String var1) throws BadIDException {
  79.       try {
  80.          this.model.setCurrentID(ID.create(var1, this.getModel().getHelpSet()));
  81.       } catch (InvalidHelpSetContextException var3) {
  82.       }
  83.  
  84.    }
  85.  
  86.    public void setCurrentURL(URL var1) {
  87.       this.model.setCurrentURL(var1);
  88.    }
  89.  
  90.    public URL getCurrentURL() {
  91.       return this.model.getCurrentURL();
  92.    }
  93.  
  94.    public String getDocumentTitle() {
  95.       return this.model.getDocumentTitle();
  96.    }
  97.  
  98.    public void addHighlight(int var1, int var2) {
  99.       this.model.addHighlight(var1, var2);
  100.    }
  101.  
  102.    public void removeAllHighlights() {
  103.       this.model.removeAllHighlights();
  104.    }
  105.  
  106.    public EditorKit createEditorKitForContentType(String var1) {
  107.       EditorKit var2 = null;
  108.       if (this.kitRegistry == null) {
  109.          this.kitRegistry = new Hashtable();
  110.       } else {
  111.          var2 = (EditorKit)this.kitRegistry.get(var1);
  112.       }
  113.  
  114.       if (var2 == null) {
  115.          HelpSet var3 = this.model.getHelpSet();
  116.          String var4 = (String)var3.getKeyData(HelpSet.kitTypeRegistry, var1);
  117.          if (var4 == null) {
  118.             return null;
  119.          }
  120.  
  121.          ClassLoader var5 = (ClassLoader)var3.getKeyData(HelpSet.kitLoaderRegistry, var1);
  122.          if (var5 == null) {
  123.             var5 = var3.getLoader();
  124.          }
  125.  
  126.          try {
  127.             Class var6;
  128.             if (var5 != null) {
  129.                var6 = var5.loadClass(var4);
  130.             } else {
  131.                var6 = Class.forName(var4);
  132.             }
  133.  
  134.             var2 = (EditorKit)var6.newInstance();
  135.             this.kitRegistry.put(var1, var2);
  136.          } catch (Throwable var7) {
  137.             var7.printStackTrace();
  138.             var2 = null;
  139.          }
  140.       }
  141.  
  142.       if (var2 != null) {
  143.          return (EditorKit)var2.clone();
  144.       } else {
  145.          var2 = JEditorPane.createEditorKitForContentType(var1);
  146.          return var2;
  147.       }
  148.    }
  149.  
  150.    public void addTextHelpModelListener(TextHelpModelListener var1) {
  151.       this.getModel().addTextHelpModelListener(var1);
  152.    }
  153.  
  154.    public void removeHelpModelListener(TextHelpModelListener var1) {
  155.       this.getModel().removeTextHelpModelListener(var1);
  156.    }
  157.  
  158.    public void addHelpModelListener(HelpModelListener var1) {
  159.       this.getModel().addHelpModelListener(var1);
  160.    }
  161.  
  162.    public void removeHelpModelListener(HelpModelListener var1) {
  163.       this.getModel().removeHelpModelListener(var1);
  164.    }
  165.  
  166.    private void debug(String var1) {
  167.       if (this.debug) {
  168.          System.err.println("JHelpContentViewer: " + var1);
  169.       }
  170.  
  171.    }
  172.  
  173.    public AccessibleContext getAccessibleContext() {
  174.       if (this.accessibleContext == null) {
  175.          this.accessibleContext = new AccessibleJHelpContentViewer(this);
  176.       }
  177.  
  178.       return this.accessibleContext;
  179.    }
  180.  
  181.    static {
  182.       SwingHelpUtilities.installLookAndFeelDefaults();
  183.    }
  184. }
  185.